Method for determining customer value and potential from social media and other public data sources

ABSTRACT

A system can determine the value of a customer that uses social media. An enterprise can provide an identity of a customer, identities of customers, or a profile of one or more customers. The enterprise can also provide one or more criteria in which to base the customer value calculation. The criteria can include the number of friends for a social media site, the number posts the user creates, the number of responses to the user&#39;s postings, the tenor of the user&#39;s postings, etc. Resources of information, including historic and current activity on social media sites, public resources, and other sources, are examined to provide a score for each criteria. A customer value score may then be generated from the criteria scores. The value score may then be used to modify the interactions of a contact center with the customer.

CROSS REFERENCE

This application claims priority to U.S. Provisional Application Ser.No. 61/263,013, filed Nov. 20, 2009, entitled “GEO POD SYSTEM,” which isincorporated herein by reference in its entirety.

BACKGROUND

Contact centers generally exchange information with consumers throughdirected contacts. Directed contacts consist of emails, phone calls, orother forms of communication that are directed to the contact center orthe consumer. However, many people today, exchange information orinteract through non-direct methods. Non-direct communications requireusers to post communications to third party sites or forums, but not todirect those communications to a specific person or organization.Non-direct communication methods include social media, which may includewebsites, networks, blogs, micro-blogs, RSS feeds, social media websites(such as, Linked-In, Facebook, Twitter, MySpace, etc.), and other typesof social media. Generally, it is not possible for contact centers tocommunicate with consumers through non-direct methods. As such, thecontact centers may be unable to interact with consumers that use socialmedia to offer certain types of customer service.

Further, contact centers have limited amounts of resources. As such, tobe efficient, and to drive down costs, contact centers like to useresources only on customers that have a likely chance of buying productsor responding to an interaction. As such, contact centers would like toproject where they may use their resources best. Unfortunately, thereare no current ways of deducing whether marketing efforts are directedto a high value customer when that customer is using social media.

SUMMARY

It is with respect to the above issues and other problems that theembodiments presented herein were contemplated. Embodiments presentedherein provide systems and methods for determining the value of acustomer that uses social media to communicate. An enterprise thatdesires to understand the value of a customer can provide an identity oridentities of customers or provide a profile of one or more customers toa contact center 102. Further, the enterprise can provide one or morecriteria in which the enterprise wants to base the customer value. Thecriteria can include such things as the number of friends or followersfor that user on a social media site, the number of posts the usercreates in a pre-determined period of time (e.g. hour, day, week, etc.),the number of responses to the user's postings, the tenor of the user'spostings, and other data. The different parameters can be scored toprovide a score for each parameter, then summed to create a customervalue.

In further embodiments, the parameters associated with the social mediasite can also be combined with other data from public or other sources.For example, a determination of the wealth or income of the user can bemade, for example, in the neighborhood from which the user lives, orfrom other data. The additional data and social media data can becombined to create a more comprehensive customer value.

A Social Media Gateway can be used to gather information on specificsocial network users. In addition, data may be collected about the userthat may exist on public blogs, wikis, etc. Finally, data sources withpublic information, e.g., census, zillow.com, etc., may be used togather more user information.

The system can create a value of the source or destination user. Thevalue profile is generated from information on the above mentionedsites. A key aspect of the value profile is the derivative information,or how influential the user might be. Information about number offollowers (twitter), number of friends (Facebook), blog readers, etc.help to determine how far the user's influence may spread, thusincreasing the customer's value. Adding to the influence attribute canbe an activity factor. If a user posts a lot and has a lot of replies inreturn, then they may be a more valuable customer that would spreadinformation through that influence. Finally, text analysis could be usedto determine the general emotion of the posts and responses. A user whohas upbeat and happy posts might be more likely to spread good wordsabout an enterprise.

To obtain this information, the system can utilize both stored data andrealtime search data. Stored data may include information that isdiscovered, including: social network accounts, blog sites, demographicdata, etc. The discovered can be information that does not change veryoften. A complete picture may be generated over time as different modesof communication are used. The realtime data can be queried as needed bythe contact center. Since influence and value may change over time, thestored/realtime information may be searched whenever a contact centerapplication requires it. Queries done at the time of an inbound/outboundcontact can enable the system to pick up on recent posts, accuratefollower counts, and any other changes in critical data.

The system utilizes realtime and stored data on each contact. Bothinbound and outbound contacts may make use of this data. When a userinteraction is identified as being of interested by the contact center(see previous base level patent application), the system performs thedata lookup and search. The result of compiling the information is aprofile of the potential value and influence of this particular user.With this data, the system can make decisions about routing to asuitable agent, options for self-service, or any other treatment choicesmade by the contact center.

Another key implementation of this method is to use the value profilewith existing voice calls and other channels already in use today. Bymaintaining data reaching back into the social media or public dataworld, the real time influence/intent/value can be calculated and usedfor simple voice calls too.

Following are a few example use cases. A Twitter post is ingested by thecontact center from a user asking if anyone has flown CJet airlines andif they liked them. The method gathers recent posts by this user fromSocial Network sites. The analysis is run to see if this is a goodnatured or intent customer. Next a value number would be computed. Ifthis customer had several posts discussing European Business Classflights, then the potential score would be high. Coupled with the intentscore this may be a customer that CJet should reach out to offer specialdeals.

A customer sends an email question requesting help. The system analyzestheir social media posts and determines this is a happy customer that iswell connected. The email is then quickly routed to an agent whocomposes a special email response to try and answer the problem but alsooffering a link to an online (without a wait) chat, if that is desiredby the customer.

A well connected blogger Tweets a question about CJet airlines. Themonitoring process ingests the message and analyzes the message andhistorical posts. The process sees the number of posts, the emotion ofthe posts, and the number of followers. The process determines that thisis an “influential” customer and sends and @ reply message to theblogger about special CJet airline deals for them.

The phrases “at least one”, “one or more”, and “and/or” are open-endedexpressions that are both conjunctive and disjunctive in operation. Forexample, each of the expressions “at least one of A, B and C”, “at leastone of A, B, or C”, “one or more of A, B, and C”, “one or more of A, B,or C” and “A, B, and/or C” means A alone, B alone, C alone, A and Btogether, A and C together, B and C together, or A, B and C together.

The term “a” or “an” entity refers to one or more of that entity. Assuch, the terms “a” (or “an”), “one or more” and “at least one” can beused interchangeably herein. It is also to be noted that the terms“comprising”, “including”, and “having” can be used interchangeably.

The term “automatic” and variations thereof, as used herein, refers toany process or operation done without material human input when theprocess or operation is performed. However, a process or operation canbe automatic, even though performance of the process or operation usesmaterial or immaterial human input, if the input is received beforeperformance of the process or operation. Human input is deemed to bematerial if such input influences how the process or operation will beperformed. Human input that consents to the performance of the processor operation is not deemed to be “material”.

The term “computer-readable medium” as used herein refers to anytangible storage that participates in providing instructions to aprocessor for execution. Such a medium may take many forms, includingbut not limited to, non-volatile media, volatile media, and transmissionmedia. Non-volatile media includes, for example, NVRAM, or magnetic oroptical disks. Volatile media includes dynamic memory, such as mainmemory. Common forms of computer-readable media include, for example, afloppy disk, a flexible disk, hard disk, magnetic tape, or any othermagnetic medium, magneto-optical medium, a CD-ROM, any other opticalmedium, punch cards, paper tape, any other physical medium with patternsof holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, a solid state mediumlike a memory card, any other memory chip or cartridge, or any othermedium from which a computer can read. When the computer-readable mediais configured as a database, it is to be understood that the databasemay be any type of database, such as relational, hierarchical,object-oriented, and/or the like. Accordingly, the invention isconsidered to include a tangible storage medium and prior art-recognizedequivalents and successor media, in which the software implementationsof the present invention are stored.

The terms “determine”, “calculate”, and “compute,” and variationsthereof, as used herein, are used interchangeably and include any typeof methodology, process, mathematical operation, or technique.

The term “module” as used herein refers to any known or later developedhardware, software, firmware, artificial intelligence, fuzzy logic, orcombination of hardware and software that is capable of performing thefunctionality associated with that element. Also, while the invention isdescribed in terms of exemplary embodiments, it should be appreciatedthat individual aspects of the invention can be separately claimed.

The term “in communication with” as used herein refers to any coupling,connection, or interaction using electrical signals to exchangeinformation or data, using any system, hardware, software, protocol, orformat.

A user context, an extended user context, and/or a user social contextas used herein means information about a user of a social media networkthat can be used to determine a “value” of that user.

The term “social media network” or “social media” is a service providerthat builds online communities of people, who share interests and/oractivities, or who are interested in exploring the interests andactivities of others. Generally, social media are web-based and providea variety of ways for users to interact, such as e-mail and instantmessaging services.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is described in conjunction with the appendedfigures:

FIG. 1 is a block diagram of an embodiment of a communication systemoperable to interact with persons using a social media network;

FIG. 2A is a block diagram of an embodiment of a social media gateway;

FIG. 2B is a block diagram of an embodiment of a dialog system;

FIG. 3 is a block diagram of an embodiment of a dialog data structure;

FIG. 4 is a block diagram of an embodiment of a customer value datastructure;

FIG. 5 is a flow diagram of an embodiment of a process for creating acustomer value data structure for a user of social media;

FIG. 6 is a flow diagram of an embodiment a process for generating acustomer value for a user of a social media;

FIG. 7 is a flow diagram of an embodiment a process for modifying aninteraction with a user of social media based on the customer valueassociated with the user;

FIG. 8 is a block diagram of an embodiment of a computing environment;and

FIG. 9 is a block diagram of an embodiment of a computer system.

In the appended figures, similar components and/or features may have thesame reference label. Further, various components of the same type maybe distinguished by following the reference label by a letter thatdistinguishes among the similar components. If only the first referencelabel is used in the specification, the description is applicable to anyone of the similar components having the same first reference labelirrespective of the second reference label.

DETAILED DESCRIPTION

The ensuing description provides embodiments only, and is not intendedto limit the scope, applicability, or configuration of the claims.Rather, the ensuing description will provide those skilled in the artwith an enabling description for implementing the embodiments. Variouschanges may be made in the function and arrangement of elements of theembodiment without departing from the spirit and scope of the appendedclaims.

A communication system 100, for interacting with persons using socialmedia is shown in FIG. 1. The communication system 100 can include acontact center 102, a network 108, and one or more types of social medianetworks or systems, such as social media network 1 112, social medianetwork 2 114, and/or social media network 3 116. Social media networks112, 114, and/or 116 can be any social media including, but not limitedto, networks, websites, or computer enabled systems. For example, asocial media network may be MySpace, Facebook, Twitter, Linked-In,Spoke, or other similar computer enabled systems or websites. Thecommunication system 100 can communicate with more or fewer social medianetworks 112, 114, and/or 116 than those shown FIG. 1, as represented byellipses 118.

The network 108 can be any network or system operable to allowcommunication between the contact center 102 and the one or more socialmedia networks 112, 114, and/or 116. The network 108 can represent anycommunication system, whether wired or wireless, using any protocoland/or format. The network 108 provides communication capability for thecontact center 102 to communicate with websites or systems correspondingto the one or more social media networks 112, 114, and/or 116. However,the network 108 can represent two or more networks, where each networkis a different communication system using different communicationprotocols and/or formats and/or different hardware and software. Forexample, network 108 can be a wide area network, local area network, theInternet, a cellular telephone network, or some other type ofcommunication system. The network 108 may be as described in conjunctionwith FIGS. 8 and 9.

A contact center 102 can be a system that can communicate with one ormore persons that use social media networking sites 112, 114, and/or116. The contact center 102 can be hardware, software, or a combinationof hardware and software. The contact center 102 can be executed by oneor more servers or computer systems, as described in conjunction withFIGS. 8 and 9. The contact center 102 can include all systems, whetherhardware or software, that allow the contact center 102 to receive,service, and respond to directed and non-directed contacts. For examplethe contact center 102 can include the telephone or email system, aninterface to human agents, systems to allow human agents to service andrespond to received contacts, and one or more systems operable toanalyze and improve the function of agent interaction.

The contact center 102 may include a dialog system 104 and a socialmedia gateway 106. While the dialog system 104 and the social mediagateway 106 are shown as being a part of the contact system 102, inother embodiments, the dialog system 104 and/or the social media gateway106 are separate systems or functions executed separately from thecontact center 102 and/or executed by a third party. The dialog system104 may process and receive messages. The social media gateway 106 canreceive and translate messages from the one or more social medianetworks 112, 114, and/or 116. An embodiment of the dialog system 104 isdescribed in conjunction with FIG. 2B. An embodiment of the social mediagateway 106 is described in conjunction with FIG. 2A.

The contact center 102 may also communicate with one or morecommunication devices 110. The communication devices 110 can represent acustomer's or user's cell phone, email system, personal digitalassistant, laptop computer, or other device that allows the contactcenter 102 to interact with the customer. The contact center 102 canmodify a non-direct contact, from a social media network 112, 114,and/or 116, into a directed contact by sending a response messagedirectly to a customer's communication device 110.

An embodiment of the social media gateway 106 is shown in FIG. 2A. Thesocial media gateway 106 can include one or more components which mayinclude hardware, software, or combination of hardware and software. Thesocial media gateway 106 can be executed by a computer system, such asthose described in conjunction with FIGS. 7 and 8. However, in otherembodiments, the components described in conjunction with FIG. 2A arelogic circuits or other specially-designed hardware that are embodied ina field programmable gate array (FPGA) application specific integratedcircuit (ASIC), or other hardware.

Herein, the social media gateway 106 can include one or more contentfilters 202 a, 202 b, and/or 202 c. A content filter 202 can receive allof the messages for the contact center 102 from a social media network112, 114, and/or 116 and eliminate or delete those messages that do notrequire a response. For example, a message between two friends on aFacebook page, if not pertaining to a product or a service of thecompany operating the contact center 102, may not need a response. Assuch, the content filter 202 can filter out or delete the non-suitablemessage from the messages that are received by the social media networkapplication programming interface (API) 1 204 a, social media networkAPI 2 204 b, and/or social media network API 3 204 c. With the contentfilter 202, the social media network API 204 only needs to translatethose messages that should be received by the dialog system 104.Translation typically requires the conversion of the message into adifferent format.

The content filter 202 is provided with one or more heuristics forfilter rules from a filter database (not shown). These filter rules canbe created by the external customer or internal user (e.g. agent oradministrator) of the communication system 100. Thus, the user orcustomer of the communication system 100 can customize the filtering ofmessages from social media networks 112, 114, and/or 116. Further,different rules may be applied to different social media networks 112,114, and/or 116, as some social media networks 112, 114, and/or 116 mayhave different types of messages or postings than other types of socialmedia networks 112, 114, and/or 116. While the content filter 202 isshown as part of the social media gateway 106, it is to be appreciatedthat the content filter 202 may be a part of the social media networkAPI 204. The content filter 202 may correspond to query terms used bythe social media network API 204. The content filter 202 or query termsare an argument to the social media network API 204 call.

The social media network API 204 can be an application that the socialmedia network 112, 114, and/or 116 provides to access the social medianetwork 112, 114, and/or 116. Thus, the social media network API 204 iscalled and connects the social media gateway 106 to the social medianetwork 112, 114, and/or 116. Any suitable filter criteria may beemployed for social media API 204. Examples of filter criteria includepositive content of positive the source of posting, an address field,destination or recipient address fields, a time stamp field, a subjectmatter field, and a message body field. For example, a type ofsearchable content can be name of the business enterprise running oremploying the contact center 102 and/or the products or services of theenterprise.

The social media gateway 106 can include one or more social medianetwork APIs 204. As shown in FIG. 2A, the social media gateway 106 mayinclude a social media network API 204 for each social media network112, 114, and/or 116. As such, the social media gateway 106 can interactwith each social media network 112, 114, and/or 116 in the particular(often unique) format or protocol used by the social media network 112,114, and/or 116. Further, when new social media networks are created,the social media gateway 106 can be easily expanded to interact withthose social media networks by adding another social media network API204. Where social media networks 112 are more standardized, or usesubstantially similar formats or protocols, a single social medianetwork API 204 can be shared by multiple social media networks 112-116.

The social media network API 204 can receive messages from and sendmessages to the social media network 112, 114, and/or 116. The socialmedia network API 204 can translate a message received from a socialmedia network 112, 114, and/or 116 and send the translated message to amessage filter 206. The social media network API 204 can translate thereceived message into a standard formatted file. For example, thetranslated message may be represented by an extensible mark-up language(XML) file or other file having a general format. As such, each specificand particular social media network message can be translated into astandard format for use by the dialog system 104. Further, the socialmedia network API 204 can receive a generally or standard formatresponse message, from the dialog system 104, and translate thatresponse into a particularly or specifically formatted response messagethat can be posted to the corresponding social media network 112, 114,and/or 116.

Messages to the contact center 102 are addressed to the contact center102. For example, a customer may become a “friend” of the contact center102 on a social media network 114, such as Facebook. The customer maythen address a message to the contact center 102 on Facebook. Thisnon-direct contact is a message that is not sent directly to the contactcenter 102 but to the contact center's Facebook page. In otherembodiments, the contact center 102 receives messages not addressed tothe contact center 102. For example, the contact center 102 can receivetweets from Twitter that are “broadcast” rather than addressed to thecontact center 102. The contact center 102 may also search for messagesor content on the social media networks 112, 114, and/or 116. Exemplarysearch criteria include customer name, customer profession, customerhome address, customer business address, customer employer name,customer educational or professional background, customer hobby,personal or business interests, customer family profile, and the like.Thus, the social media gateway 106 of the contact center 102 can query,gather, or connect to a live feed of data from a social media network112, 114, and/or 116 and then apply a filter to the indirectinformation.

Further, the social media network API 204 can also retrieve user contextor other extended information from the social media networks 112, 114,and/or 116. User context or other extended information can includehistorical posts, historical tweets, or other historical communicationsthat a user may have received or sent. Further, user context or otherextended information can include, but is not limited to, accountinformation for a user, the user's followers or friends, information onwhere historical messages were posted (e.g., geo-location, time/date,what type of device, etc.), trending analysis that the social medianetwork 112, 114, and/or 116 might provide the user, etc. Thus, thesocial media network API 204 can retrieve information that is associatedwith a user and a social media network 112, 114, and/or 116 but notnecessarily a part of a current message. The social media network API204 is a gatherer of data, which can be used to determine a value forthe user of the social media networks 112, 114, and/or 116.

The translated messages from the social media network API 204 can bereceived by a message filter 206. A message filter 206 can perform someor all of the functions of the content filter 202 and eliminate messagesbefore being sent to the dialog system 104. However, in otherembodiments, the message filter 206 eliminates information from withinthe messages before the redacted messages are sent to the dialog system104. For example, a message from a social media network 112 may havethree or four interactions between two parties not associated with thecontact center 102. Only one of the several postings may be pertinent tothe dialog system 104. As such, the message filter 206 can eliminate ordelete at least a portion of the other messages for the dialog system104. Thus, the dialog system 104 receives a message where some of thecontent of the message has been deleted. The message filter 206 canretrieve heuristics or filter rules from a filter database (not shown),similar to the content filter 202. A substantial difference between thecontent and message filters 202 and 206 is that the content filter 202is specific to a particular message format associated with acorresponding social media network 112, 114, and/or 116, while themessage filter 206 is applied to a standardized or universal format andis therefore common to multiple social media networks 112, 114, and/or116. One skilled in the art will understand the type of rules that maybe used to filter information from messages such that only pertinentquestions, facts, requests, or information is sent to the dialog system104.

A message aggregator 208 may also be included with the social mediagateway 106. A message aggregator 208 can, in contrast to the messagefilter 206, combine two or more messages into a packet or grouping thatis sent to the dialog system 104. Therefore, the message aggregator 208can interrelate or combine messages based on information within themessages. For example, two messages may be combined based on any of themessage fields referenced above, such as the person that posted themessage, the subject, the request or question asked, the person themessage was sent to, or other information that may be pertinent to thedialog system 104. Thus, the dialog system 104 may be able to respondconcurrently to two or more messages based on a grouping provided by themessage aggregator 208. Regardless of whether the messages areaggregated, each message or grouping of messages can be sent from thesocial media gateway 106 to the dialog system 104.

The social media gateway 106 can also send responses back to the socialmedia networks 112, 114, and/or 116. A response from an agent in thecontact center 102 can be sent to the social media gateway 106. Theresponse may be in a general format and translated. The translatedresponse may then be posted to the appropriate social media network 112,114, and/or 116 by the social media gateway 106. In other embodiments,the agent may post the response directly to the social media network112, 114, and/or 116 without sending the response to the social mediagateway 106.

An embodiment of the dialog system 104 is shown in FIG. 2B. The dialogsystem 104 can include one or more components which may be hardware,software, or a combination of hardware and software. The dialog system104 can be executed by a computer system such as those described inconjunction with FIGS. 8 and 9. However, in other embodiments, thecomponents described in conjunction with FIG. 2B, are logic circuits orother specially-designed hardware that are embodied in a FPGA or ASIC.The components contained within the dialog system 104 can include adialog core 210 that is communication with a message history database222, an agent interface 224, and a heuristic rules and dialogs database218. Further, the heuristic rules and dialogs database 218 can be incommunication with a dialog creator 220.

The dialog core 210 can include one or more sub-components. For example,the dialog core 210 can include a trend analysis component 212, a textprocessing component 214, and an analysis tools component 216. Thesecomponents, similar to the components for the dialog system 104, can behardware, software, or combination of hardware and software. The dialogcore 210 may step through the states of a dialog data structure. Adialog data structure can include a set of inputs and associated actionsthat can be taken which allow for the automatic and structured responseto social media requests or messages. For example, if a user asks for amanual, the input of the text word “manual” can cause the dialog system104 in accordance with a dialog data structure, to send informationabout one or more manuals. In turn, the receiver of the response mayrespond, in kind, with the selection of a certain user manual. In whichcase, the dialog data structure may then instruct the dialog core tosend the user to a website where the user can retrieve an electronicversion of the manual. As such, the dialog data structure provides ascript a dialog that allows the dialog core 210 to automate theinteraction between the contact center 102 and a person. This automationeliminates the need for agent involvement, in some situations, and makesthe contact center 102 more efficient and more effective. Further, theautomation expands the contact center's ability to answer numerousmessages from the plethora of postings on the numerous social medianetworks 112, 114, and/or 116.

The dialog creator 220 will create a dialog data structure 300 thatincludes instructions for various states for each social media messagethat comes into the contact center 102. The first instruction might beto send the social media message to the trend analysis component 212,then to the text processing component 214, and then execute a query of aCustomer Relationship Management (CRM) database 232 (to determine ifthis user has an existing order). A CRM database 232 can be a databaseas described in conjunction with FIGS. 8 & 9 and can store informationabout customers or other data related to customer relations. Finally thedialog data structure 220 might decide that the social media messageshould be sent to a human agent 228 for processing. The instructions ornode transitions are executed in the dialog core 210 and make use ofmany different components that the dialog creator 220 combines in anyway the user desires to handle the social media messages. The dialogcore 210 can make use of the trend analysis component 212, textprocessing component 214, or other systems. The dialog core 210 may alsointerface with a CRM system and/or database 232, external databases,social media user information (e.g., followers, friends, post history,etc. from the social media site), or other systems.

The trend analysis component 212 is operable to analyze trends thatoccur between two or more messages received by the social media networks112, 114, and/or 116. The two messages can be from different socialmedia networks, so that the trend analysis component 212 can identifytrends across several different social media networks 112, 114, and/or116. Trends can include multiple occurrences of the same word or phrase,multiple occurrences of a customer identity, product name or service, ormultiple occurrences of some other information that might indicate atrend. Further, the trend analysis component 212 may be able to identifyescalations in the occurrences of particular text, identities, or otherinformation, or may identify multiple occurrences over a period of time.The trend analysis component 212 may also be able to apply one or moredifferent algorithms to occurrences of information within the socialmedia networks 112, 114, and/or 116. For example, the trend analysiscomponent 212 can match the number of occurrences of a phrase or wordover a period of time and apply analysis to determine if the occurrencesare increasing or decreasing over the period of time.

The text processing component 214 is operable to analyze text of one ormore messages from social media networks 112, 114, or 116. Some possiblemethods for text processing can include Regular Expression, LatentSemantic Indexing (LSI), text part of speech tagging, text clustering,N-Gram document analysis, etc. In addition, for possibly longerdocuments, (such as, blogs or emails), the text processing component 214may execute one or more methods of document summarization. Thesummarization may occur if the social media message will be sent to anagent 228 of the contact center 102; the summarization can reduce theamount of information that the agent 228 may manage. The text processingrules or models may be stored in and/or retrieved from a text processingrules database 230. The text processing rules database 230 can be adatabase as described in conjunction with FIGS. 7 and 8 that storesrules or models used by the text processing component 214.

The text processing component 214 can identify one or more occurrencesof a particular text, such as using one or more of the message fieldsreferenced above, in order to associate that social media message withone or more dialogs data structures in the heuristic rules and dialogdatabase 218. For example, the text processing component 214 can lookfor the word “manual,” in the social media message. If the word “manual”is found, the text processing component 214 may retrieve a dialog datastructure from the heuristic rules and dialogs database 218 and, as thedialog data structure instructs, communicate with the customer about oneor more owner's manuals, repair manuals, or other types of manuals. Inanother example, if the social media message includes the words, “buy”,“sell”, “price, “discount” or other types of words that may indicate theuser or customer wishes to buy a product, the text processing component214 can retrieve one or more dialog data structures from the heuristicrules and dialogs database 218 that can provide instruction to assistthe customer in purchasing products or services from the enterprise.

The analysis tools component 216 is operable to analyze responsemessages received back from an agent interface 224. In analyzing theagent's responses, the analysis tools component 216 can determine if thedialog data structures 300 (FIG. 3) originally retrieved by the textprocessing component 214 met the needs of the customer. In the analysis,the agent 228 may enter one or more items of information, for theanalysis tools component 216, about the response and about how theresponse matched with the dialog data structures 300. The analysis toolscomponent 216 can review the response and determine if it was similar tothe response provided by the dialog data structure 300 (FIG. 3). Thus,the analysis tools component 216 can provide information to the dialogcore 210 or the dialog creator 220 to improve the dialog data structures300 (FIG. 3) that are included in the heuristic rules and dialogsdatabase 218.

The message history database 222 can be any database or data storagesystem as described in conjunction with FIGS. 8 and 9. Thus, the messagehistory database 222 can store data in data fields, objects, or otherdata structures to allow other systems to retrieve that information at alater time. The message history database 222 can store previous messagesor information about previous messages. Thus, for example, if the trendanalysis component 212 is analyzing several messages over a period oftime, the trend analysis component 212 can retrieve information aboutprevious messages associated with the current analysis from the messagehistory database 222. As such, the trend analysis component 212 canbetter detect trends occurring at the social media networks 112, 114,and/or 116. The data stored by the message history database 222 caninclude the entire message or only a portion of the message, and in somecircumstances, include metadata about the message(s).

The heuristic rules and dialogs database 218 can be any type of databaseor data storage system as described in conjunction with FIGS. 8 and 9.The heuristic rules and dialogs database 218 can store information indata fields, data objects, and/or any other data structures. An exampleof information stored within the heuristic rules and dialogs database218 is described in conjunction with FIG. 3. The heuristic rules anddialogs database 218 stores rules and dialogs data structures thatautomate responses to received social media messages. The dialogs datastructures control the interaction between the dialog core 210 and thesocial media network 112, 114, and/or 116. The dialogs or heuristicrules can be created by a dialog creator 220. Thus, the dialog creator220 can interface with user input 226 to receive information aboutdialogs. The user input 226 is then used to form the states andresponses for a dialog data structure.

An agent interface 224 is a communication system operable to send actionitems to contact center agents 228, in the contact center 102. An agentcan be a person or other system that is operable to respond to certainquestions or requests from a customer. For example, the agent 228 can bea person that has specialized expertise in a topic area, such astechnical support. The agent interface 224 can format the social messageinto an action item and forward that message to one or more agents 228.The agent interface 224 can also receive response(s) back from theagents 228. The information provided by the agent 228 may be used by thedialog core 210 to complete a response to the social media message. Forexample, the information may classify the social media message (e.g.,sales, service, etc.). In other embodiments, the response is a completeresponse to the social media message that can be posted to the socialmedia network 112, 114, and/or 116.

An embodiment of a dialog data structure 300 is shown in FIG. 3. Thedialog data structure 300 can be stored in several different forms ofdatabases, such as relational databases, flat files, object-orienteddatabases, etc. Thus, while the term “data field” or “segment” is usedherein, the data may be stored in an object, an attribute of an object,or some other form of data structure. Further, the dialog data structure300 can be stored, retrieved, sent, or received during the processing ofdialogs by the dialog core 210 or the dialog creator 220. The dialogdata structure 300 stores one or more items of information in one ormore segments. The numeric identifiers (e.g. 302, 304, etc.) shown inFIG. 3 can identify, the one or more segments.

The dialog data structure 300 can include one or more input segments,such as, input segment 1 302 and input segment 2 304, a rules segment306, and/or a dialog script segment 308. Input segments 302 and 304 eachinclude one or more inputs that may be required to associate a socialmedia message with the dialog data structure 300. The inputs segments302 and 304 may include a customer identity, a respective customer type,a text word, a phrase, or other information that indicates that thedialog data structure 300 is associated with or pertaining to the socialmedia messages.

The input segments 302 and 304 may also include certain trends that thetrend analysis component 212 can identify. As such, if a trend isidentified and associated with the inputs 302 and/or 304, the dialogdata structure 300 can be retrieved and used by the dialog core 210.While there are only two input segments 302 and 304 shown in FIG. 3,there may be more or fewer input segments associated with the dialogdata structure 300, as indicated by ellipses 310.

The rules segment 306 can include one or more heuristic rules thateither help with the association of the respective dialog data structure300 with the social media message or control the interaction between thedialog core 210 and the social media customer. For example, the rule 306can state that the dialog data structure 300 applies only if the socialmedia message includes input segment 1 302 but not input segment 2 304.One skilled in the art will be able to identify other types of rulesthat may govern the association of the dialog data structure 300 withthe social media message. In other embodiments, the rules segment 306states that if the social media message includes inputs 302 and/or 304,then the dialog core 210 should respond with a certain type of action.

Generally, a dialog script segment 308 includes a script of actions orresponses that direct one or more other components, such as the dialogcore 210 (FIG. 2B), to conduct actions or send the responses. The dialogscript segment 308 can include the one or more states and correspondingresponses or actions required by the dialog core 210. If the dialogscript segment 308 applies (that is, if the social media message isrequesting a certain type of information), the dialog script segment 308may include the one or more responses that the dialog core 210 shouldcommunicate to respond to that social media message. The dialog scriptsegment 308 can also include a response and a pointer to another dialogscript segment 308 or another dialog data structure 300. Further, thedialog script segment 308 may have one or more actions that may be takenby another component after a secondary response is received by acustomer. Thus, the dialog script segment 308 can direct or instruct aninteraction to continue with a social media user over a period of timeand over several interactions between the user and the contact center102.

It should be noted that the dialog script segment 308 can reference oneor more other dialog data structures 300. Thus, the dialog scriptsegment 308 can direct the dialog core 210 to reference at least oneother dialog data structure 300 to further act on the social mediamessage. Further, the social media message can be subject of two or moredialog script segments 308, and direct the dialog core 210 to completetwo dialog script segments 308 on the social media message. Also, dialogscript segments 308 may not be associated with a response but direct thedialog core 210 to complete other actions, such as populating databasesor gathering information.

An embodiment 400 of a data structure to store or create a customervalue is shown in FIG. 4. This customer value profile 400 can includeone or more data segments that contain one or more criteria. Forexample, data segments 402 through 404 and 406 can each include a typeof criteria, a score, a weight, or other information. For example, forone criteria 402, there is criteria 1 408, criteria 1 408 can be thecriteria that is being evaluated. A criteria can be a parameter,metadata, or other information from a social media network or fromanother source, such as a public data source. For example, this criteriacan include the number of followers or friends the user has on a socialmedia network 112, a number of posts a user makes during apre-determined period of time (e.g. an hour, a week, a month), a numberof responses the user receives to a post, a number of responses the userposts to other postings, a score for the tenor of a posting. A tenor canbe a mood or some other valuation of the text within a posting orresponse.

From public data sources, it may be possible to determine the address ofthe user which may then be used to determine an approximate wealth orincome for the user, the phone number, the name, or some other data thatmay be used to improve or better clarify the customer value. Datasegment 402 can also include a weight 410. A weight segment 410 caninclude a weight 410 that can be a measure of the importance of thecriteria in determining the customer value score. A weight 410 can be amultiplier, whether the multiplier is a decimal or an integer, whichchanges the value of the criteria score. The weight may be provided incomparison to other weights. Thus, one criteria may be more importantthan another, which is reflected in the weight value. For example, thenumber of friends or followers may be more important than the number ofresponses the user makes to other postings. As such, the weight for thenumber of friends or followers can be greater than the weight for thenumber of responses.

The data segment 402 can also include a score segment 412. The scoresegment 412 can include a score that can include the algorithm used toscore the criteria. For example, a criteria may include the number offollowers the user has and that number of followers may be stored in thecriteria segment 408. However, to score that, the score may include analgorithm which determines the number of standard deviations from a meannumber of followers for that social media network. For example, if themean user has 100 friends on Facebook, and the current user has 1000friends, they may be two standard deviations from the mean. As such, thescore may be determined by a number of standard deviations. For example,if a user is two standard deviations from the mean, the number of 2standard deviations from the mean may result in a score of 10. Theactual score may also be stored in the score segment 412. A weighedscore segment 414 may store the result of the computation of the weightand the score. As such, the weighted score includes the total score forthat criteria. The total value score segment 418 can store the sum ofall weighted scores added. The total value score 418 represents thevalue of this customer or the customer profile.

An embodiment of a method 500 to create a customer value data structureis shown in FIG. 5. Generally, the method 500 begins with a startoperation 502 and terminates with an end operation 518. While a generalorder for the steps of the method 500 are shown in FIG. 5, the method500 can include more or fewer steps or arrange the order of the stepsdifferently than those shown in FIG. 5. The method 500 can be executedas a set of computer-executable instructions executed by a computersystem and encoded or stored on a computer readable medium. Hereinafter,the method 500 shall be explained with reference to the systems,components, modules, software, data structures, etc. described inconjunction with FIGS. 1-4.

A contact center 102 can receive an identity, in step 504. An identitycan be a user name, a name, an address, a cell phone number, an emailaddress, or some other identifying information for a person. In otherembodiments, the identity can include a profile of two or more people.For example, the profile can be of any person that may desire a certainproduct or service. The profile may also be for any customer usingsocial media. The dialog creator 220 can receive the profile or theidentity.

Optionally, the dialog creator 220 may also receive the one or moresocial media networks, 112, 114, and/or 116 that need to be analyzed forusers to determine customer value. The networks to be analyzed can bereceived as user input 228 at the dialog creator 220. The differentsocial networks to analyze can be social network 1 112, 2 114, and/or 3116. For example, the social networks may be Facebook, Twitter, Spoke,etc.

The dialog creator 220 can also receive one or more criteria, in step508. The criteria can apply to the criteria segment 408 and the customerprofile 400. In other embodiments, there may be a standard set ofcriteria which the user inputs or selects. The standard criteria candetermine a general customer value without specifics received from theuser.

The dialog creator 220 may also receive one or more weightings for thecriteria, in step 510. The weights or weightings can be a multiplier forthe criteria. For example, the weightings may be a decimal number or aninteger that is multiplied to the criteria to give a weighted score. Inother embodiments, it may be a portion of a 100%, such as 25%. Thepercentage can be a reflection of the value of the criteria amongst allother criteria, such that adding all the percentage weights of all thecriteria equals 100%.

The dialog creator 220 can receive, as a user input 228, one or morescoring algorithms, in step 512. The scoring algorithms can be amathematical function for how the criteria are calculated. For example,criteria may be calculated by the distance above or below, mean value.For example, a criteria can be the number of standard deviations awayfrom a mean. For example, if a user has 200 friends or followers onFacebook and the mean is 100, that user may be one standard deviationabove the mean value. The one standard deviation value can be a score ormay be scored on another scale. In other embodiments, the algorithms candifferently calculate scores for different criteria using differentmathematical functions.

The dialog creator 220 can then receive value campaign parameters, instep 514. A campaign value parameter can be a parameter that defines howvalues are going to be determined for one or more people. For examplethe value campaign can instruct which social networks 112, 114, 116 toinvestigate, can identify from dates to use for evaluating, may haveother types of parameters that define how a value determination is madefor one or more people.

The criteria used to analyze identities and profiles, weights,algorithms, and value campaign parameters may be stored in a dialog datastructure 300 in step 516. The campaign parameters can be stored in therules segment 306, meanwhile, the identity or profiles can be stored inthe user input segment 302 or 304. The other received information, suchas the social networks to analyze, the criteria, the weights, and thealgorithms may be stored in a dialog script that includes a customervalue data structure 400 in the dialog script segment 308. Thus, todetermine values, a dialog system 104 can read the dialog script and bedirected to applying the algorithms to one or more criteria to determinescores and then calculating the weighted score by multiplying thecriteria scores with the weight.

An embodiment of a method 600 for determining a customer value is shownin FIG. 6. Generally, the method 600 begins with a start operation 602and terminates with an end operation 618. While a general order for thesteps of the method 600 are shown in FIG. 6, the method 600 can includemore or fewer steps or arrange the order of the steps differently thanthose shown in FIG. 6. The method 600 can be executed as a set ofcomputer-executable instructions executed by a computer system andencoded or stored on a computer readable medium. Hereinafter, the method600 shall be explained with reference to the systems, components,modules, software, data structures, etc. described in conjunction withFIGS. 1-4.

A contact center 102 can receive an identity or profile, in step 604. Anidentity can include any identifying information for a person such as aname, a user name, an address, a phone number, or other data that may beused to identify a person using a social media network 112, 114 or 116.In other embodiments, a profile is provided, for example, anyone usingFacebook, any female between the ages of 18 through 30, or other typesof profiles. From the identity, the dialog system 104 can retrieve adata dialog structure 300 from the heuristic rules and dialogs database216, in step 606. The contact center 100 searches the heuristic rulesand dialogs database 216 for a dialog data structure 300 that includesthe identity or profile stored in the input segment 302 or 304.Alternatively, the dialog system 104 retrieves a value campaign datastructure 400 and inserts the identity or profile in the input segment302 or 304.

The dialog core 210 of the dialog system 104 can read the dialog scriptin a dialog data structure 300. The dialog script can direct the dialogcore 210 to access one or more accounts for a social media userassociated with the identity or profile, in step 608, to obtain a usercontext, an extended user context, and/or a user social context. Thus,the dialog core 210 can retrieve information to access the social mediaaccount from a CRM database 232 a message history database 222, or someother source or may directly access the social media account in thesocial media network 112 114, and/or 116. In accessing the social mediaaccount, the dialog core 210 reads information about the user from thesocial media account. The information retrieved can describe the personor their usage of the social media account. For example, the dialog core210 may retrieve the number of followers the user has on Facebook, mayretrieve former messages from a message history on Facebook, or mayretrieve and read other information available in the social medianetwork 112, 114, and/or 116. In other embodiments, the dialog core 210can determine a number of hits on a blog, page, or video blog todetermine values.

Trend analysis component 212 reads and evaluates the parameters, in step610. Thus, information that is required for the dialog script isretrieved from the social media account and stored in a temporary datastructure by the dialog core 210. The parameters are then evaluated todetermine a value score. A dialog core 210 can read the algorithms fromthe dialog script and apply those algorithms to the parameters to obtaina score in step 612. In applying the algorithms, the dialog core 210executes a mathematical function to determine the value of theparameters. The mathematical function will provide a score for theparameter.

Dialog core 210 may then apply a weight to the score, in step 614. Forexample, the dialog core 210 can read the weighting from the dialogscript and multiply the weight by the value of the parameter determinedin step 612. The result of the applying the weighting is a weightedvalue score. For each criteria, a value weighted score is created. Adialog core 210 may then calculate a value score for the user by addingthe two or more weighted value scores together in step 616. Thissummation produces a total value score for that user.

An embodiment of a method 700 to create a customer value data structureis shown in FIG. 7. Generally, the method 700 begins with a startoperation 702 and terminates with an end operation 710. While a generalorder for the steps of the method 700 are shown in FIG. 7, the method700 can include more or fewer steps or arrange the order of the stepsdifferently than those shown in FIG. 7. The method 700 can be executedas a set of computer-executable instructions executed by a computersystem and encoded or stored on a computer readable medium. Hereinafter,the method 700 shall be explained with reference to the systems,components, modules, software, data structures, etc. described inconjunction with FIGS. 1-4.

A contact center 102 can receive an identity, in step 704. The identitycan be an identity of a user of a social media network 112, 114, and/or116. An identity identifies the user and can include a user name, aname, an address, a phone number, other contact information, or otherinformation that can uniquely identify the user. From the identifyinginformation, the contact center 102 can retrieve a customer value score,in step 707. The customer value score may be stored in a CRM database232 or a message history database 222 and be available for retrieval bythe contact center 102. The customer value score can represent a valuewith that user for the identity received in step 704.

The contact center 102 then may modify an interaction with that userbased on the customer value score, in step 708. For example, if the userhas a high customer value score, the contact center 102 may provide ahigher level of customer service, such as, present an agent 228 tointeract with the customer who has more skill or more knowledge about atypical subject. Further, the customer may be subject to a higher levelof interaction including more messages sent to the user in order to gainthe user's attention or affiliation with the enterprise. Thus, bydetermining a customer value score, an enterprise can better directresources to the customers that may have the greatest potential forconsuming products or promoting those products to other consumers.

FIG. 8 illustrates a block diagram of a computing environment 800 thatmay function as servers, computers, or other systems provided herein.The environment 800 includes one or more user computers 805, 810, and815. The user computers 805, 810, and 815 may be general purposepersonal computers (including, merely by way of example, personalcomputers, and/or laptop computers running various versions of MicrosoftCorp.'s Windows™ and/or Apple Corp.'s Macintosh™ operating systems)and/or workstation computers running any of a variety ofcommercially-available UNIX™ or UNIX-like operating systems. These usercomputers 805, 810, 815 may also have any of a variety of applications,including for example, database client and/or server applications, andweb browser applications. Alternatively, the user computers 805, 810,and 815 may be any other electronic device, such as a thin-clientcomputer, Internet-enabled mobile telephone, and/or personal digitalassistant, capable of communicating via a network 820 and/or displayingand navigating web pages or other types of electronic documents.Although the exemplary computer environment 800 is shown with three usercomputers, any number of user computers may be supported.

Environment 800 further includes a network 820. The network 820 may canbe any type of network familiar to those skilled in the art that cansupport data communications using any of a variety ofcommercially-available protocols, including without limitation SIP,TCP/IP, SNA, IPX, AppleTalk, and the like. Merely by way of example, thenetwork 820 maybe a local area network (“LAN”), such as an Ethernetnetwork, a Token-Ring network and/or the like; a wide-area network; avirtual network, including without limitation a virtual private network(“VPN”); the Internet; an intranet; an extranet; a public switchedtelephone network (“PSTN”); an infra-red network; a wireless network(e.g., a network operating under any of the IEEE 802.11 suite ofprotocols, the Bluetooth™ protocol known in the art, and/or any otherwireless protocol); and/or any combination of these and/or othernetworks.

The system may also include one or more server 825, 830. In thisexample, server 825 is shown as a web server and server 830 is shown asan application server. The web server 825, which may be used to processrequests for web pages or other electronic documents from user computers805, 810, and 815. The web server 825 can be running an operating systemincluding any of those discussed above, as well as anycommercially-available server operating systems. The web server 825 canalso run a variety of server applications, including SIP servers, HTTPservers, FTP servers, CGI servers, database servers, Java servers, andthe like. In some instances, the web server 825 may publish operationsavailable operations as one or more web services.

The environment 800 may also include one or more file and or/applicationservers 830, which can, in addition to an operating system, include oneor more applications accessible by a client running on one or more ofthe user computers 805, 810, 815. The server(s) 830 and/or 825 may beone or more general purpose computers capable of executing programs orscripts in response to the user computers 805, 810 and 815. As oneexample, the server 830, 825 may execute one or more web applications.The web application may be implemented as one or more scripts orprograms written in any programming language, such as Java™, C, C#™, orC++, and/or any scripting language, such as Perl, Python, or TCL, aswell as combinations of any programming/scripting languages. Theapplication server(s) 830 may also include database servers, includingwithout limitation those commercially available from Oracle, Microsoft,Sybase™, IBM™ and the like, which can process requests from databaseclients running on a user computer 805.

The web pages created by the server 825 and/or 830 may be forwarded to auser computer 805 via a web (file) server 825, 830. Similarly, the webserver 825 may be able to receive web page requests, web servicesinvocations, and/or input data from a user computer 805 and can forwardthe web page requests and/or input data to the web (application) server830. In further embodiments, the web server 830 may function as a fileserver. Although for ease of description, FIG. 6 illustrates a separateweb server 825 and file/application server 830, those skilled in the artwill recognize that the functions described with respect to servers 825,830 may be performed by a single server and/or a plurality ofspecialized servers, depending on implementation-specific needs andparameters. The computer systems 805, 810, and 815, web (file) server825 and/or web (application) server 830 may function as the system,devices, or components described in FIGS. 1-4.

The environment 800 may also include a database 835. The database 835may reside in a variety of locations. By way of example, database 835may reside on a storage medium local to (and/or resident in) one or moreof the computers 805, 810, 815, 825, 830. Alternatively, it may beremote from any or all of the computers 805, 810, 815, 825, 830, and incommunication (e.g., via the network 820) with one or more of these. Thedatabase 835 may reside in a storage-area network (“SAN”) familiar tothose skilled in the art. Similarly, any necessary files for performingthe functions attributed to the computers 805, 810, 815, 825, 830 may bestored locally on the respective computer and/or remotely, asappropriate. The database 835 may be a relational database, such asOracle 10i™, that is adapted to store, update, and retrieve data inresponse to SQL-formatted commands.

FIG. 9 illustrates one embodiment of a computer system 900 upon whichthe servers, computers, or other systems or components described hereinmay be deployed or executed. The computer system 900 is shown comprisinghardware elements that may be electrically coupled via a bus 955. Thehardware elements may include one or more central processing units(CPUs) 905; one or more input devices 910 (e.g., a mouse, a keyboard,etc.); and one or more output devices 915 (e.g., a display device, aprinter, etc.). The computer system 900 may also include one or morestorage devices 920. By way of example, storage device(s) 920 may bedisk drives, optical storage devices, solid-state storage devices suchas a random access memory (“RAM”) and/or a read-only memory (“ROM”),which can be programmable, flash-updateable and/or the like.

The computer system 900 may additionally include a computer-readablestorage media reader 925; a communications system 930 (e.g., a modem, anetwork card (wireless or wired), an infra-red communication device,etc.); and working memory 940, which may include RAM and ROM devices asdescribed above. The computer system 900 may also include a processingacceleration unit 935, which can include a DSP, a special-purposeprocessor, and/or the like.

The computer-readable storage media reader 925 can further be connectedto a computer-readable storage medium, together (and, optionally, incombination with storage device(s) 920) comprehensively representingremote, local, fixed, and/or removable storage devices plus storagemedia for temporarily and/or more permanently containingcomputer-readable information. The communications system 930 may permitdata to be exchanged with the network 820 (FIG. 8) and/or any othercomputer described above with respect to the computer system 900.Moreover, as disclosed herein, the term “storage medium” may representone or more devices for storing data, including read only memory (ROM),random access memory (RAM), magnetic RAM, core memory, magnetic diskstorage mediums, optical storage mediums, flash memory devices and/orother machine readable mediums for storing information.

The computer system 900 may also comprise software elements, shown asbeing currently located within a working memory 940, including anoperating system 945 and/or other code 950. It should be appreciatedthat alternate embodiments of a computer system 900 may have numerousvariations from that described above. For example, customized hardwaremight also be used and/or particular elements might be implemented inhardware, software (including portable software, such as applets), orboth. Further, connection to other computing devices such as networkinput/output devices may be employed.

In the foregoing description, for the purposes of illustration, methodswere described in a particular order. It should be appreciated that inalternate embodiments, the methods may be performed in a different orderthan that described. It should also be appreciated that the methodsdescribed above may be performed by hardware components or may beembodied in sequences of machine-executable instructions, which may beused to cause a machine, such as a general-purpose or special-purposeprocessor or logic circuits programmed with the instructions to performthe methods. These machine-executable instructions may be stored on oneor more machine readable mediums, such as CD-ROMs or other type ofoptical disks, floppy diskettes, ROMs, RAMs, EPROMs, EEPROMs, magneticor optical cards, flash memory, or other types of machine-readablemediums suitable for storing electronic instructions. Alternatively, themethods may be performed by a combination of hardware and software.

Specific details were given in the description to provide a thoroughunderstanding of the embodiments. However, it will be understood by oneof ordinary skill in the art that the embodiments may be practicedwithout these specific details. For example, circuits may be shown inblock diagrams in order not to obscure the embodiments in unnecessarydetail. In other instances, well-known circuits, processes, algorithms,structures, and techniques may be shown without unnecessary detail inorder to avoid obscuring the embodiments.

Also, it is noted that the embodiments were described as a process whichis depicted as a flowchart, a flow diagram, a data flow diagram, astructure diagram, or a block diagram. Although a flowchart may describethe operations as a sequential process, many of the operations can beperformed in parallel or concurrently. In addition, the order of theoperations may be re-arranged. A process is terminated when itsoperations are completed, but could have additional steps not includedin the figure. A process may correspond to a method, a function, aprocedure, a subroutine, a subprogram, etc. When a process correspondsto a function, its termination corresponds to a return of the functionto the calling function or the main function.

Furthermore, embodiments may be implemented by hardware, software,firmware, middleware, microcode, hardware description languages, or anycombination thereof. When implemented in software, firmware, middlewareor microcode, the program code or code segments to perform the necessarytasks may be stored in a machine readable medium such as storage medium.A processor(s) may perform the necessary tasks. A code segment mayrepresent a procedure, a function, a subprogram, a program, a routine, asubroutine, a module, a software package, a class, or any combination ofinstructions, data structures, or program statements. A code segment maybe coupled to another code segment or a hardware circuit by passingand/or receiving information, data, arguments, parameters, or memorycontents. Information, arguments, parameters, data, etc. may be passed,forwarded, or transmitted via any suitable means including memorysharing, message passing, token passing, network transmission, etc.

In alternative embodiments, the contact center system 102 can alsoaccess public sources of data to further enhance the customer valuescore. For example, a contact center 102 may access public records aboutaddresses for the user. From that information, the contact center 102may determine a possible income level or wealth level for the user. Assuch, the contact center 102 can determine if the customer is likely tobuy or purchase a product. Other information may be accessed from otherdata sources and applied to the customer value score. As such, thecustomer value score can reflect a total more robust determination ofthe value of the customer to the enterprise.

In still another embodiment, the nature of the parameters used todetermine the value score of the customer value score or the customervalue score itself may be temporal. In other words, the weightassociated with a parameter may be dynamic and decay based on the age ofthe parameter value. Decaying may be accomplished using a leakyintegrator approach that can function as a moving average. The size ofthe integration window can be adjusted to highlight the trends withoutincluding too much noise. There can be multiple dimensions to any trend“tracking” that can be included as modifiers. For example, the weight ofthe score may decrease 5% every week based on the age of a parameter.

Further, the customer value score can also be dynamic and change basedon age or other temporal, geographic, or other information aboutparameters of the customer value score. Further, the customer valuescore may also change depending on the time of day, time of week, timeof month or year. For example, a user may have a higher customer valuescore during the work week or work day compared to nights or weekends.

In further alternatives, the dialog core 210 may detect trending by acustomer or user. Each individual social media user may be “trending” ona topic. For example, “Bob” occasionally talks (tweets/facebook posts)about possible summer vacation plans, but, starting in the month ofMarch, the frequency of mentions for “summer vacation” increases from0.5 mentions per month across all social media networks 112, 114, and/or116 to 3 mentions per month across all social media networks 112, 114,and/or 116. The increase may be a positive short term trend for anindividual user that may trigger a value assessment that “Bob” should betargeted for a summer travel outreach campaign. Thus, a baseline ofactivity on a topic may be determined then the dialog core 210 cannotice significant changes (i.e., statistically significant changes)that may be valuable information for a business. In other words, trendsare meaningful with an understanding of what the base “noise” level isfor a social media user.

In still further embodiments, a trend for one user may be compared tothe trends of other users, either as individuals or as aggregatedgroups. With the comparison information, threshold levels (i.e., thelevels at which a customer becomes valuable) can be automaticallyadjusted. For example, if a major media outlet (e.g., Time Magazine)writes an article on time share condos as a vacation option, the averagelevel of conversation on time share condos for vacation may increaseacross a large body of users. An average number of mentions, for thewhole of social media users, of time shares may increase. As such,trying to determine a valuable customer may not function with anunadjusted threshold because too many people may go over the threshold.However, the dialog core 210 may automatically adjust the thresholdbased on the actions of the whole of social media users to cull outthose users that post in excess of the larger general trend. Thus, forany given topic, there is an average number of mentions. The averagenumber of mentions can fluctuate with external factors. Users thatexceed the average number of mentions per unit time might be showinggreater interest or potential. This analysis optimizes the use ofcontact center resources in attempting to connect tointerested/interesting/influential customers.

While illustrative embodiments have been described in detail herein, itis to be understood that the inventive concepts may be otherwisevariously embodied and employed, and that the appended claims areintended to be construed to include such variations, except as limitedby the prior art.

1. A method for the method comprising: receiving, by a processor, an identity for a consumer that is a user of a social media network; retrieving, by the processor, a value score for the consumer based on the identity, wherein the value score is based on information associated with the consumer's social media network usage; and modifying, by the processor, a business interaction with the consumer based on the value score.
 2. The method as defined in claim 1, wherein the identity uniquely identifies a user of a social media network.
 3. The method as defined in claim 1, wherein a contact center retrieves the value score from a database based on the identity.
 4. The method as defined in claim 1, wherein a consumer with a higher value score receives a higher level of customer service or a higher level of interaction.
 5. The method as defined in claim 1, further comprising determining, by the contact center, the value score is determined for the consumer.
 6. The method as defined in claim 5, wherein determining the value score comprises: based on the received identity, retrieving by a dialog system, retrieving a dialog data structure associated with calculating a value score from a database; accessing, by a dialog core, at least one social media network; reading, by the dialog core, at least one parameter, provided in the dialog data structure, from the social media network; applying, by the dialog core, an algorithm, provided in the dialog data structure, to the at least one parameter to obtain at least one criteria score; and calculating, by the dialog core, the value score from the at least one criteria score.
 7. The method as defined in claim 6, further comprising: applying, by the dialog core, at least one weight to the at least one criteria score; and calculating, by the dialog core, the value score from the at least one weighted criteria score.
 8. The method as defined in claim 6, wherein the at least one parameter includes a number of followers on a social media network, a number of friends on a social media network, a number of blog readers, a number of hits on a blog, page, or video blog, a number of posts made by the user, a number or responses to the any one of a user's posts, or an emotion of one or more posts.
 9. A computer readable medium having stored thereon processor executable instructions that cause a computing system to execute a method for determining a value for a user of a social media network, the instructions comprising: instructions to receive an identity for the user; based on the received identity, instructions to retrieve a dialog data structure associated with calculating a value score; instructions to access at least one social media network; instructions to evaluate at least one parameter, provided in the dialog data structure, associated the social media network; instructions to apply an algorithm, provided in the dialog data structure, to the at least one parameter to obtain at least one criteria score; instructions to apply at least one weight, provided in the dialog data structure, to the at least one criteria score to obtain at least one weighted criteria score; and instructions to calculate the value score from the at least one weighted criteria score.
 10. The computer readable medium as defined in claim 9, wherein the identity is one of a group consisting of a username, a name, an address, a phone number, an email address, and a profile.
 11. The computer readable medium as defined in claim 10, wherein the profile is a generally describes two or more customers using social media.
 12. The computer readable medium as defined in claim 9, wherein the at least one parameter includes a number of followers on a social media network, a number of friends on a social media network, a number of blog readers, a number of hits on a blog, page, or video blog, a number of posts made by the user, a number or responses to the any one of a user's posts, or an emotion of one or more posts.
 13. The computer readable medium as defined in claim 9, wherein the social media network is at least one of Facebook, Twitter, Spoke, MySpace, a blog, a video blog, or a chat room.
 14. The computer readable medium as defined in claim 9, wherein the dialog data structure is created by a dialog creator.
 15. The computer readable medium as defined in claim 9, wherein creating the dialog data structure comprises: instructions to receive an identity for the user; instructions to receive one or more social media networks to analyze; instructions to receive a criteria; instructions to receive a weight for one or more of the criteria; instructions to receive a scoring algorithm for one or more of the criteria; and instructions to store the one or more social media networks to analyze, the criteria, the weight, and the scoring algorithm in the dialog data structure.
 16. The computer readable medium as defined in claim 15, wherein creating the dialog data structure further comprises: instructions to receive a parameter for the value analysis; and storing the parameter in the dialog data structure.
 17. A communication system comprising: a social media gateway in communication with a social media network, the social media gateway operable to obtain criteria information from the social media network; a dialog system in communication with the social media gateway, the dialog system operable to determine a value score for a customer and based on the obtained criteria information and operable to provide the value score; and a contact center in communication with the dialog system, the contact center operable to receive the value score and operable to modify an interaction with the customer based on the value score.
 18. The communication system as defined in claim 17, wherein the dialog system comprises: a dialog core in communication with the social media gateway, the dialog core operable to determine the value score from a dialog data structure; a heuristic rules and dialogs database in communication with the dialog core, the heuristic rules and dialogs database operable to store the dialog data structure; a dialog creator in communication with the heuristic rules and dialogs database, the dialog creator operable to create the dialog data structure and operable to store the dialog data structure into the heuristic rules and dialogs database; a message history database in communication with the dialog core, the message history database operable to store an interaction history associated with the customer to which the value score applies; and an agent interface in communication with the dialog core and an agent associate with the contact center, the agent interface operable to send the value score to an agent and operable to receive the response from the agent, wherein the agent modifies the response based on the value score.
 19. The communication system as defined in claim 19, wherein the dialog core comprises: a dialog core operable to analyze the criteria information to determine the value score; and a text processing component operable to evaluate an emotion of a message associated with customer and provide the emotion to the dialog core as criteria information.
 20. The communication system as defined in claim 19, wherein the value score includes a value profile comprising: one or more criteria segments operable to store the criteria; for each criteria segment, a weight segment operable to store a weight reflecting an importance of the criteria; for each criteria segment, a score segment operable to store a score for the criteria; for each criteria segment, a weighted score segment operable to store a weighted score for the criteria generated from multiplying the score by the weight; and a total value score segment operable to store the value score for the customer created by summing the weighted scores for all of the criteria segments. 